草庐IT

C++ DLL 链接 Unresolved external

全部标签

windows - 在 windows 7 x64 的 shell 扩展 dll 中不调用 InvokeCommand

我的shell扩展代码在Windows7下运行良好。但是,在Windowsserver2008x64或windows7x64中,当SelectedFiles的数量超过16个时,调用的命令函数不会被调用。当SelectedFiles个数小于17时,一切正常;调用顺序:QueryContextMenu->Initialize->GetCommandString->InvokeCommand但是当SelectedFiles的个数超过16个时,InvokeCommand不会被调用;调用顺序:Initialize(thereturnedvalueofDragQueryFileis16)->Que

c - 在 Windows 8 (MinGW) 中链接 OpenCL 库

我四处寻找答案,如果这是我无法自行解决的琐碎问题,我深表歉意。我刚拿到带有双780iGPU的新Alienwareaurora,我将用它来进行CT图像重建。我计划在OpenCL中工作,因为那是我已经知道的。到目前为止,我只在Mac上工作,使用OpenCL框架编译代码非常简单。现在,在Windows8.1中,情况有所不同。我已经安装了NVidiaCudaSDK,它带有所有OpenCLheader和库(全部安装在标准位置),并开始尝试使用MinGW配置Code::blocks以编译和链接OpenCL库。我总是遇到同样的错误(向下滚动查看)。我以前链接过库,所以我99%在那里正确配置了东西,但

windows - 使用 mingw-w64 编译 mex 的链接器错误

我正在尝试将Mingw-w64设置为MATLAB2013a中的mex编译器。我的笔记本电脑采用x86_64架构并运行Windows7。我要编译的程序使用c++11风格的线程,所以我使用的是带有posix线程的mingw-w644.9.0版。根据说明我找到了here和here,我修改了我的mexopts.bat文件。代码似乎编译成功,但是链接器报错。有没有人建议我可能做错了什么?顺便说一下,我尝试使用gnumex来设置编译器,但这也没有用。这是MATLAB给出的输出和错误消息:>mex-vGomoku_mex.cpp->DefaultoptionsfilenamefoundinC:\Us

c++ - std::stringstream 类需要有 dll 接口(interface)

我在dll中有一个C++类。在那个类中,我想将来自Curl回调的数据存储到一个成员变量中。我打算像这样使用字符串流:voidMyClass::CurlCallback(void*pvData,size_ttSize){constchar*data=static_cast(pvData);m_myStringStream但是当像这样在我的类中声明字符串流时:private:std::stringstreamm_myStringStream;我收到以下错误:Error1errorC2220:warningtreatedaserror-no'object'filegeneratedWarni

.net - 进程被终止后,DLL 仍处于锁定状态

我正在尝试使用PowerShell自动部署Windows服务。我遇到问题的步骤是停止当前版本并将其删除。因为它是一个CI代理,我根本不关心是否正确停止服务,所以我只是用taskkill/f/im:终止了进程。.然后我尝试删除文件,大约3次我得到一个:Exception:Accesstothepath'C:\ProgramFiles(x86)\MirrorService\AWSSDK.dll'isdenied.但DLL仅由我刚刚杀死的进程使用。我试图捕获异常并记录handle.exe输出。日志中没有此DLL的句柄,我可以将其删除。所以,显然taskkill之间存在滞后。完成它的工作,并处

php - 带有 Xampp 错误的符号链接(symbolic link)

我目前在Windows上使用Xampp进行本地Web开发。在我的网络根目录中,我有指向我的每个项目的符号链接(symboliclink),如下所示:http://i.stack.imgur.com/GW9Yt.png当通过资源管理器访问符号链接(symboliclink)时,它会打开正确的文件夹和位置,但是,当在我的浏览器(本地主机/项目)中通过Apache加载时,我收到此错误:Warning:Unknown:failedtoopenstream:NosuchfileordirectoryinUnknownonline0Fatalerror:Unknown:Failedopeningr

c++ - VBA 64 位 Excel 不将指针传递给 DLL 函数 (C++)

我有一个在Excel64位上运行的VBA程序调用一些DLL函数(C++)。问题是(显然)它不能将指针传递给C++程序。该程序适用于Excel32位。操作系统是Windows8。对于Windows7,32位和64位版本的Excel都运行良好。C++:doubletest(long*v,longi){if(v==NULL)return-88;elsereturn*((long*)v);}VBA:PrivateDeclarePtrSafeFunctionhamid_testLib"...\CVode.dll"(ByValvAsLongPtr,ByValiAsLong)AsDoubleDimx

c++ - 使用 SDL2 和 MinGW 诊断 DLL 问题

我正在尝试让我编写并运行一个简单的SDL2应用程序,但我的计算机上的SDL2似乎有问题。我正在运行64位Windows8.1Pro,安装了所有MSVisualStudioC++2013库(x64和x86)并且Windows已完全更新。SDL2在我使用类似设置的旧计算机上运行良好(我最近重新安装了Windows),所以我无法解释这个错误。TL;DR:当从C:\Windows\System32加载DLL时,我编写的简单测试代码神秘地失败了。如何诊断Windows上的DLL加载问题?测试代码#include"SDL.h"intmain(intargc,char*argv[]){SDL_Ini

php - 安装 composer (windows) 时缺少许多 DLL

我正在尝试在我的计算机上安装Composer,但我收到很多关于缺少某些DLL的错误。我已经下载了其中一些,但我找不到任何网站,哪里可以下载libsybcomn64.dll。但是,我认为从Internet下载每个DLL并不是一个好的解决方案。我使用的是Windows7x64并安装了Apache2和PHP5.6.9-简单的PHP就可以工作。 最佳答案 我自己解决了。而且我真的很笨。问题是,在安装PHP时,我取消了php.ini中的all扩展的注释-我认为越多越好。所以我重置了整个文件并只取消了必要的注释-php_pdo_mysql.dl

c++ - 检测 DLL 的卸载

我有一个特殊的要求,我相信没有别的办法,即:检测DLL的卸载。我用谷歌搜索并发现afour-yearsoldSO对这个。我选择了相同的解决方案:HookFreeLibrary。当代码进入MyFreeLibrary时,我将钩住入口点指定的模块以相同的方式(内联钩子(Hook))。而在MyEntryPoint,我会先调用原来的入口点,然后检查reason参数-如果值等于DLL_PROCESS_DETACH,表示这个DLL的清理工作是刚刚完成,它将从地址空间中卸载。在这一点上,我有机会做我的工作。它有效。就这样?不幸的是,它还没有完成。一个非常重要的事情被忽略了:依赖。例如,a.dll链接到